home *** CD-ROM | disk | FTP | other *** search
/ Directorty Opus 5 - Magellan 2 / Opus 5 - Magellan 2.iso / Handbuch_WW / Kapitel12 (.txt) < prev    next >
WordWorth  |  1996-09-10  |  104KB  |  720 lines

  1.  
  2. Kapitel Zwölf: Dateitypen
  3.  
  4. 12.1  Dateitypen
  5.  
  6. Zuerst einmal sind Dateien nichts anderes als einfach nur gespeicherte Daten. 
  7. Die Struktur dieser Daten unterscheidet sich aber sehr stark. Es gibt 
  8. ausführbare Programme, IFF-Bilder, Piktogramme oder eine Vielzahl anderer 
  9. Datenstrukturen. Die meisten Dateien haben eine identifizierbare Struktur 
  10. (obgleich nicht alle Datenstrukturen identifiziert werden können). Das 
  11. Dateitypensystem von Opus 5 ist darauf ausgelegt, die Struktur einer Datei zu 
  12. untersuchen und den Typ der darin enthaltenen Daten zu identifizieren. Sie 
  13. können Directory Opus 5 auf eine unbegrenzte Anzahl von Dateitypen erweitern.
  14.  
  15. Die Dateitypen gehören zu den vielseitigsten Fähigkeiten von Opus 5. Durch die 
  16. Verwendung von Dateitypen können Sie Opus 5 darauf konfigurieren, z.B. 
  17. Animationen auf Doppelklick abzuspielen, "Multiview" zu laden, wenn Sie eine 
  18. AmigaGuide-Datei aktivieren, ein Archiv zu entpacken, wenn Sie es in ein 
  19. anderes Verzeichnis "Nehmen & Ablegen" oder sogar, es einem externen Handler 
  20. wie z.B. ArcDir zuzuführen.
  21.  
  22. Dies ist die Essenz der Dateitypen; wenn Sie eine Aktion auf eine Datei 
  23. ausführen, dann prüft Opus, was für ein Typ von Datei es ist und führt die 
  24. demtentsprechende Aktion für diesen Dateityp aus.
  25.  
  26. 12.2  Vordefinierte Dateitypen
  27.  
  28. Opus 5 wird mit einer Anzahl bereits vordefinierter Dateitypen ausgeliefert. 
  29. Diese sind eim Verzeichnis "DOpus5:Filetypes" abgelegt und haben eine 
  30. vordefinierte Datenstruktur sowie damit verbundene vordefinierte Befehle. 
  31. Dateitypen werden dynamisch gehandhabt. Opus 5 überprüft die in diesem 
  32. Verzeichnis vorliegenden Dateitypen und lädt diese automatisch.
  33.  
  34. Als kleine Annehmlichkeit liegen Opus 5 noch eine Reihe weiterer Dateitypen 
  35. bei, die im Verzeichnis "DOpus5:Storage/Filetypes" abgelegt sind. Mit diesen 
  36. Dateitypen ist die meiste Arbeit schon getan. Alle nötigen Details sind dort so 
  37. eingestellt, wie Opus 5 sie braucht, um Dateiformate sicher zu erkennen. 
  38. Kopieren Sie die Dateitypen, die Sie benötigen, einfach manuell in das 
  39. Verzeichnis "DOpus5:Filetypes" oder benutzen Sie den automatischen 
  40. Dateityperzeuger, um fehlende Dateitypen zu identifizieren und dann automatisch 
  41. zu installieren. Opus wird Dateitypen dann automatisch erkennen und darauf 
  42. zurückgreifen. Wenn die voreingestellten Befehle, mit denen die Dateitypen 
  43. verknüpft sind, Ihnen nicht zusagen, dann können Sie diese natürlich einfach 
  44. nach Ihren Wünschen verändern. Dazu brauchen Sie keine Kenntnisse vom internen 
  45. Aufbau der Dateitypen. Alles was Sie machen müssen, ist einen Befehl 
  46. zuzuweisen, der ausgeführt werden soll, wenn Opus 5 einen solchen Dateityp 
  47. erkennt.
  48.  
  49.  
  50. 12.3  Der Dateitypenmanager
  51.  
  52. Wählen Sie aus dem Einstellungen-Menü den Punkt "Dateitypen...". Es erscheint 
  53. ein Fenster, in dem Ihnen die verfügbaren Dateitypen aus dem Verzeichnis 
  54. "DOpus5:Filetypes" angezeigt werden. Für den ambitionierten Anfänger haben wir 
  55. zahlreiche vordefinierte Dateitypen, wie z.B. AmigaGuide, LHA-Archiv, 
  56. Workbench-Piktogramm oder Skriptdateien, beigefügt.
  57.  
  58. Die verfügbaren Dateitypen sehen Sie in der Liste in alphabetischer 
  59. Reihenfolge.
  60.  
  61.  
  62.  
  63.  
  64.  
  65. Abb.: Eine beispielhafte Auflistung aller verfügbaren Dateitypen.
  66.  
  67. Hinzufügen
  68. Hiermit erzeugen Sie einen neuen Dateitypeneintrag. Nach Anwahl dieses Knopfes 
  69. erscheinen zwei weitere Fenster, in denen Sie die Definition des Dateityps und 
  70. die damit verbundene Aktion bestimmen können.
  71.  
  72. Duplizieren
  73. Hiermit duplizieren Sie einen angewählten Eintrag. Wählen Sie einen Eintrag an, 
  74. benutzen Sie dann "Duplizieren" und ein neuer Eintrag wird von dem alten 
  75. dupliziert und Ihnen zur Bearbeitung präsentiert.
  76.  
  77. Bearbeiten
  78. Hiermit können Sie die Definition eines vorhandenen Dateityps und der damit 
  79. verbundenen Aktion verändern oder erweitern.
  80.  
  81. Entfernen
  82. Entfernt die angewählte Definition aus der Liste der Dateitypen und löscht den 
  83. Eintrag auch aus dem Verzeichnis "DOpus5:Filetypes". 
  84.  
  85. Lagern
  86. Entfernt einen Eintrag aus der Liste der Dateitypen und verschiebt ihn aus dem 
  87. Verzeichnis "DOpus5:Filetypes" nach "DOpus5:Storage/Filetypes". 
  88.  
  89. 12.4  Das Bearbeiten von Dateitypen
  90.  
  91. Der Dateitypeneditor besteht aus mehreren Teilen. Dies sind die aktuelle 
  92. Dateitypdefinition oder Dateitypklasse, die möglichen Ereignisse und 
  93. Benutzeraktionen und die korrespondierenden Befehle, die mit jeder Aktion 
  94. ausgeführt werden.
  95.  
  96.  
  97.  
  98.  
  99.  
  100. Abb.: Der Dateitypeneditor.
  101.  
  102. Ein Doppelklick auf einen Dateityp oder die Anwahl des Knopfes "Bearbeiten" 
  103. zeigt die Liste der Ereignisse, die für jeden Dateityp definiert werden können, 
  104. eine Satz von Menüpunkten, die Sie für die Piktogramm-Menüs dieses Typs 
  105. definieren können und das Standardpiktogramm, das Sie für diesen Dateityp 
  106. benutzen wollen.
  107.  
  108.  
  109. 12.4.1  Ereignisse
  110.  
  111. Jede dieser Aktionen steht in Verbindung mit einem Mausereignis oder einer 
  112. begrenzten Anzahl von Opus 5-Kommandos, die Benutzer1 - Benutzer4 benannt sind.
  113.  
  114. Ist einer der Einträge mit einem Haken versehen, bedeutet dies, daß dieses 
  115. Ereignis schon mit einer Liste auszuführender Befehle belegt ist. Ein Klick auf 
  116. eines der Objekte dieser Liste ruft den Funktionseditor auf, der Ihnen die 
  117. Definition der zu diesem Ereignis gehörenden Befehle erlaubt.
  118.  
  119.  
  120.  
  121.  
  122.  
  123. Abb.: Der Funktionseditor.
  124.  
  125. Um die Definitionen der verschiedenen Ereignisse miteinander vergleichen zu 
  126. können oder mehrere Ereignisse parallel zu definieren, können Sie auch mehrere 
  127. dieser Funktionseditoren aufrufen. Da jeder dieser Ereignistypen etwas anderes 
  128. ausführen kann, sind üblicherweise nur einige wenige definiert. Es ist 
  129. sicherlich nicht nötig, alle Ereignisse mit einer eigenen Befehlsliste zu 
  130. versehen.
  131.  
  132. Wenn jetzt eines der aufgelisteten Ereignisse stattfindet, macht Opus 5 
  133. folgendes:
  134.  
  135. - Zuerst wird die Liste der Dateitypen durchsucht und überprüft, ob eine
  136.   Datei mit diesen Dateitypen übereinstimmt. Die Reihenfolge der Überprüfung
  137.   der Dateitypen geschieht übrigens nach der Priorität der Dateitypen
  138.   (Wie Sie die Priorität ändern, erfahren Sie weiter unten im Text).
  139.  
  140. - Wurde ein passender Dateityp gefunden, wird überprüft, ob für das
  141.   Ereignis eine Befehlsliste vorliegt. Liegt diese vor, wird sie ausgeführt.
  142.  
  143. - Wurde kein passender Dateityp gefunden oder aber es gibt keine
  144.   Befehlsliste für das damit verbundene Ereignis, wird die Suche in der
  145.   Dateitypenliste fortgesetzt. Es könnte ja noch ein Eintrag gefunden werden,
  146.   für den eine Befehlsliste vorliegt.
  147.  
  148.  
  149. 12.4.2  Mausereignisse
  150.  
  151. Ein Mausereignis tritt auf, wenn Sie einen Doppelklick ausführen oder ein 
  152. Objekt mit "Nehmen & Ablegen" bewegen.
  153.  
  154. Der Doppelklick: Dieses Ereignis tritt auf, wenn Sie mittels Doppelklick eine 
  155. Datei aktivieren. Meist wird dieser zur Analyse der Datei genutzt, um dann z.B. 
  156. eine als Bild erkannte Datei anzuzeigen oder eine Tondatei abzuspielen. Die 
  157. aktuelle Geschwindigkeit des Doppelklicks wird in den Einstellungen des 
  158. Amiga-Systems vorgenommen ("Prefs/Input").
  159.  
  160. Nehmen & Ablegen: Dieses Ereignis tritt auf, wenn eine Datei mittels Mausklick 
  161. aufgenommen und dann in einem anderen Verzeichnis abgelegt wird. Dieses 
  162. Ereignis wird gerne für das Entpacken von Archiven benutzt.
  163.  
  164. 12.4.3  Kommandoereignisse (Benutzer 1-4)
  165.  
  166. Kommandoereignisse treten auf, wenn auf eine Datei eine Aktion mittels der 
  167. begrenzt möglichen Opus 5-Benutzerkommandos ausgeführt wird. Nur die vier 
  168. Kommandoereignisse Benutzer1 - Benutzer4 sind hier verfügbar. Diese Bezeichnung 
  169. mag Ihnen vielleicht etwas geheimnisvoll vorkommen, aber Sie gibt Ihnen die 
  170. größtmögliche Flexibilität.
  171.  
  172. Jeder der internen Befehle von Opus 5 hat eine bestimmte Bedeutung, aber es mag 
  173. Fälle geben, in denen keiner dieser Befehle für so richtig zu passen scheint. 
  174. Und genau für diese Fälle wurden die Benutzer-Kommandos definiert, die dann in 
  175. diesem Moment bedeuten "Führe eine Operation auf dieses Objekt aus"
  176.  
  177. 12.4.4  Piktogramm- und Dateitypen-Menüs
  178.  
  179. Seit Opus 5.5 hat jedes Piktogramm (und Dateilister im Textmodus, wenn dies 
  180. aktiviert ist) einen Satz datitypabhängige Popup-Menüs, die durch Druck auf die 
  181. rechte Maustaste über dem Piktogramm oder dem Eintrag im Textmodus-Dateilister 
  182. aufgerufen werden. Opus bietet hier eine kleine Vorauswahl von Befehlen für 
  183. jeden Dateityp, aber Sie können diese Menüs beliebig mit den von Ihnen 
  184. benötigten Befehlen erweitern, die sich dann nur auf Piktogramme oder Dateien 
  185. eines bestimmten Typs beziehen.
  186.  
  187. Wenn das Piktogramm einer Datei angezeigt wird, für die Sie einen Dateityp 
  188. definiert haben, so werden die dateitypabhängigen Piktogramm-Menüs an die 
  189. Popup-Menüs für Piktogramme dieses Typs angehängt. Wählen Sie "Hinzu", um den 
  190. Namen und die Funktion dieses benutzerdefinierten Menüeintrages zu  definieren.
  191.  
  192.  
  193. 12.4.5  Das Standardpiktogramm und dessen Auswahl
  194.  
  195. Der Knopf "Pikt. wählen" erlaubt es Ihnen, ein Piktogramm festzulegen, das von 
  196. Opus 5 für diesen spezifischen Dateityp in einem Dateilister angezeigt wird, 
  197. wenn dieser in den Piktogrammodi betrieben wird oder aber ausgelagert auf dem 
  198. Hauptfenster von Opus. Wählen Sie dieses Piktogramm entweder über das 
  199. Dateiauswahlfenster oder aber legen Sie ein Piktogramm mittels "Nehmen & 
  200. Ablegen" in das Feld über dem Knopf "Pikt. wählen" (Wir haben ein Verzeichnis 
  201. "DOpus5:Icons" hinzugefügt, in dem solche Piktogramme aufbewahrt werden 
  202. können).
  203.  
  204.  
  205. Wenn hier ein Piktogramm definiert wird, so wird dieses anstelle der 
  206. Amiga-Systemeinstellungen genutzt, wenn ein Piktogramm mittels des Befehls 
  207. "AddIcon" hinzugefügt wird.
  208.  
  209.  
  210. 12.4.6  Klassendefinition bearbeiten
  211.  
  212. Unterhalb der Liste der Ereignisse befindet sich der Knopf "Def. bearb....", 
  213. mit dem Sie die Definition (oder auch Klasse) des Dateityps modifizieren 
  214. können. Lesen Sie dazu bitte auch die 'Definition eines Dateityps'.
  215.  
  216.  
  217. 12.5  Definition eines Dateityps
  218.  
  219. Der Aufruf von "Def. bearb..." aus dem Ereignisfenster führt zum Öffnen des 
  220. Editors für die Dateitypendefinition. Hier definieren Sie die Elemente, die 
  221. Opus 5 zur Erkennung eines Dateityps benötigt.
  222.  
  223.  
  224.  
  225.  
  226. Abb.: Bearbeiten Sie hier die Definition des Dateityps.
  227.  
  228. Name:
  229. Hier geben Sie dem Dateityp einen Namen.
  230.  
  231. ID:
  232. Die ID (Identifikation) erscheint im Dateitypen-Manager neben dem Namen des 
  233. Dateityps. Dies ist eine Abkürzung für den Namen des Dateitypen.
  234.  
  235. Pri:
  236. Hier bestimmen Sie die Priorität eines Dateityps. Die Priorität ist 
  237. ausschlaggebend für die Reihenfolge, in der die Dateitypen abgearbeitet werden, 
  238. wenn eine unbekannte Datei untersucht wird. Generell sollte die Priorität auf 
  239. Null belassen werden, aber es kann durchaus sinnvoll oder sogar nötig sein, die 
  240. Prioritäten anders zu verteilen.
  241.  
  242.  
  243. Nehmen wir mal an, Sie hätten zwei Dateitypen definiert, wobei der eine eine 
  244. Untermenge des anderen darstellt (z.B. 24Bit-ILBM-Bilder gegenüber regulären 
  245. ILBM-Bildern). Sie hätten es gerne, wenn zuerst auf den 24Bit- Datentyp 
  246. getestet würde, da dieser eine Untermenge des regulären IFF-ILBM-Datentyps ist. 
  247. Würde zuerst der reguläre Dateityp überprüft und eine Übereinstimmung gefunden, 
  248. würde der 24Bit-Datentyp gar nicht mehr überprüft und hätte damit seine 
  249. Funktion verloren, obwohl der reguläre Datentyp trotz korrekter Erkennung des 
  250. Formates vielleicht gar nicht in der Lage ist, 24Bit-Dateien darzustellen. In 
  251. einem solchen Fall müssen Sie die Priorität des 24Bit-Datentyps höher 
  252. einstellen als die des regulären IFF-ILBM-Datentyps.
  253.  
  254. Unterhalb der drei oben beschriebenen Felder befindet sich nun ein größeres 
  255. Feld, in dem die Klauseln für die korrekte Identifikation des Dateityps stehen 
  256. müssen. Diese Klauseln werden von Opus 5 der Reihe nach abgearbeitet, um 
  257. letztendlich einen Dateityp korrekt zu identifizieren. Diese Klauseln können so 
  258. einfache Anweisungen enthalten, wie eine einfache Suche nach der 
  259. Namenserweiterung einer Datei (z.B. daß alle Dateien, die auf ".TXT" enden, als 
  260. Text erkannt werden) oder aber auch komplexe Scanoperationen nach Daten in 
  261. einem spezifischen IFF-Chunk.
  262.  
  263. Unterhalb der Liste der Klauseln befinden sich (von links nach rechts): ein 
  264. Knopf, ein Textfeld (nur zur Darstellung) und ein Feld zur Übergabe von 
  265. Argumenten. Diese werden für das Bearbeiten der Klauseln benötigt, wie Sie 
  266. weiter unten lesen können
  267.  
  268. Hinzufügen:
  269. Fügt einen neuen Eintrag in die Liste der Klauseln ein.
  270.  
  271. Einfügen:
  272. Fügt über dem angewählten Eintrag in der Liste der Klauseln einen neuen Eintrag 
  273. ein.
  274.  
  275.  
  276. Entfernen:
  277. Entfernt den angewählten Eintrag.
  278.  
  279. Datei anzeigen:
  280. Dies erlaubt Ihnen die Anwahl einer Datei, die über den Textanzeiger 
  281. wiedergegeben wird, damit Sie leichter Klauseln herausfinden können, die für 
  282. eine korrekte Erkennung des Dateityps benötigt werden.
  283.  
  284. 12.6  Bearbeiten der Dateitypendefinition
  285.  
  286. Um eine der Klauseln der Liste zu bearbeiten, wählen Sie einfach den 
  287. gewünschten Eintrag an. Der Inhalt dieses Eintrages wird nun nach unten in das 
  288. Anzeigefeld und das Feld für die Argumentenübergabe übernommen. Um den Inhalt 
  289. des Anzeigefeldes zu verändern, klicken Sie auf den kleinen Knopf links daneben 
  290. und eine Liste alternativer Klauseln wird Ihnen präsentiert. Wählen Sie dort 
  291. eine andere Klausel aus oder wählen Sie "Abbruch". 
  292.  
  293.  
  294.  
  295.  
  296. Abb.: Wählen Sie hier eine Klausel aus.
  297.  
  298. Die Struktur eines Dateitypdefinitionsskriptes, wie es in der Liste der 
  299. Klauseln angezeigt wird, besteht aus einer oder mehreren Klauseln, die 
  300. beschreiben, was bei der Überprüfung des Dateityps zur sicheren Erkennung in 
  301. Erwägung gezogen werden sollte. Es gibt nur zwei Anweisungen, die die Klauseln 
  302. voneinander abgrenzen: "Und" und "Oder". Diese definieren, was zu tun ist, wenn 
  303. eine Klausel fehlschlägt oder Erfolg hat. Wenn alle Klauseln abgearbeitet sind 
  304. und das Resultat dieser Operation wahr ist, dann ist die zu untersuchende Datei 
  305. von just diesem Dateityp.
  306.  
  307. 12.6.1  Entscheidungsklauseln
  308.  
  309. Klausel: Und
  310.  
  311. Syntax:  Und
  312.  
  313. Ist die vorhergehende Klausel wahr, dann wird bei einem "Und" auch die 
  314. nachfolgende Klausel überprüft; anderenfalls wird zur nächsten Klausel 
  315. gesprungen. Wenn die vorhergehende Klausel unwahr ist, dann wird die Ausführung 
  316. an dieser Stelle abgebrochen und der Dateityp kann nicht mit diesem 
  317. übereinstimmen.
  318.  
  319. Klausel: Oder
  320.  
  321. Syntax:  Oder
  322.  
  323. Ist die vorhergehende Klausel unwahr, dann wird die nachfolgende Klausel 
  324. überprüft; anderenfalls wird zur nächsten Klausel gesprungen.
  325.  
  326. 12.6.2  Überprüfungsklauseln
  327.  
  328. Klausel: Vergl.
  329.  
  330. Syntax:  Vergl. TEXT, Vergl. $HEX, Vergl. %BINÄR, Vergl. \xxx
  331.  
  332. Hiermit können Sie prüfen, ob eine Sequenz von Bytes am Beginn der zu 
  333. untersuchenden Datei mit dem angegebenen Muster übereinstimmt. Die Klausel 
  334. "Vergleichen" unterstützt auch binäre Übereinstimmungen. Um in einem Text einen 
  335. Platzhalter zu definieren, benutzen Sie das "?". Um ein einzelnes unbekanntes 
  336. Byte zu ersetzen, wenn Sie hexadezimal arbeiten, benutzen Sie "??". Eine 
  337. weitere Form der Eingabe ist es, die Syntax eines ASCII-Zeichens durch seinen 
  338. Dezimalwert zu spezifizieren. "\009" entspricht dem Tabulatorzeichen, "\114" 
  339. wäre ein "r" und "\063" entspricht dem Fragezeichen.
  340.  
  341. Beispiele:
  342.  
  343.  Vergl. $000003F3         (mit diesen Bytes startet ein ausführbares Programm)
  344.  Vergl. FORM????ILBM     (dies charakterisiert ein IFF-Bild)
  345.  Vergl. Hallo\009Du      ("Hallo", dann ein Tabulatorzeichen, dann "Du")
  346.  Vergl. $FFFA            (Übereinstimmung mit hexadezimalen Zeichen)
  347.  Vergl. %10110           (Übereinstimmung mit binären Zeichen)
  348.  Vergl. TEXT\127         (Übereinstimmung mit "TEXT", plus dem Zeichen <DEL>)
  349.  
  350.  
  351. Klausel: Vergl. (ign.)
  352.  
  353. Syntax:  Identisch mit Vergl.
  354.  
  355. Diese Klausel ist identisch mit dem einfachen "Vergl.", jedoch wird bei dieser 
  356. nicht auf Groß- oder Kleinschreibung geachtet. Dies gilt allerdings nur für 
  357. ASCII-Zeichen. Hexadezimale, binäre oder "\xxx"-Eingaben müssen hier ganz 
  358. genauso übereinstimmen.
  359.  
  360. Klausel: Vergl. Bits
  361.  
  362. Syntax:  Vergl. Bits +/- HSPARWED
  363.  
  364. Testet, ob die Schutzbits der Datei übereinstimmen. Um zu überprüfen, ob ein 
  365. Schutzbit gesetzt ist, stellen Sie einfach ein "+" voran. Zum Test, ob ein Bit 
  366. nicht gesetzt ist, stellen Sie ein "-" voran.
  367.  
  368. Beispiele:
  369.  
  370.  Vergl. Bits +RW     (Bits "R" und "W" müssen an sein, andere sind egal)
  371.  Vergl. Bits -E      (Bit "E" (für ausführbar) muß aus sein)
  372.  Vergl. Bits +RW -E  (Bits "R" und "W" müssen an, Bit "E" muß aus sein)
  373.  
  374. Klausel: Vergl. Komm.
  375.  
  376. Syntax:  Vergl. Komm. TEXT
  377.  
  378. Vergleicht den angegebenen Text mit dem Dateikommentar der zu untersuchenden 
  379. Datei. Jeder beliebige Platzhalter des AmigaDOS kann hier verwendet werden
  380.  
  381. Beispiele:
  382.  
  383.  Vergl. Komm. IFF-Grafik  (Dateikommentar muß exakt "IFF-Grafik" lauten)
  384.  Vergl. Komm. #?Grafik#?  (Jeder Dateikommentar, der das Wort "Grafik"
  385.  
  386. Klausel: Vergl. Datum
  387.  
  388. Syntax:  Vergl. Datum TTMMMJJ
  389.  
  390. Vergleicht das Datum der Datei mit dem angegebenen Datum. Lesen Sie über 
  391. Datumsformate bitte auch das Kapitel über die internen Befehle und dort 
  392. speziell die 'Selektive Anwahl'.
  393.  
  394. Beispiele:
  395.  
  396.  Vergl. Datum 15Aug96     (Datei muß exakt dieses Datum haben)
  397.  Vergl. Datum < 10Jan96   (Datei muß vor diesem Datum erzeugt worden sein)
  398.  
  399.  
  400. Klausel: Vergl. Name
  401.  
  402. Syntax:  Vergl. Name Dateiname
  403.  
  404. Der angegebene Dateiname wird mit dem der zu untersuchenden Datei verglichen. 
  405. Jeder gültige Platzhalter des AmigaDOS kann hier benutzt werden.
  406.  
  407. Beispiele:
  408.  
  409.  Vergl. Name #?.ilbm      (Alle Dateien, die auf ".ilbm" enden)
  410.  Vergl. Name *.lzh        (Alle Dateien, die auf ".lzh" enden)
  411.  
  412. Klausel: Vergl. Größe
  413.  
  414. Syntax:  Vergl. Größe > oder < oder = INTEGERZAHL
  415.  
  416. Vergleicht die Dateigröße mit dem angegebenen ganzzahligen Wert.
  417.  
  418. Beispiele:
  419.  
  420.  Vergl. Größe > 1000      (Alle Dateien größer als 1000 Bytes)
  421.  Vergl. Größe < 10000     (Alle Dateien kleiner als 10000 Bytes)
  422.  
  423. Klausel: Vergl. FORM
  424.  
  425. Syntax:  Vergl. FORM  Chunkname
  426.  
  427. Testet, ob die Datei einen gültigen IFF-Chunk enthält.
  428.  
  429. Beispiele:
  430.  
  431.  Vergl. FORM ILBM  (Datei muß eine ILBM-Bilddatei sein)
  432.  Vergl. FORM SMUS  (Datei muß eine SMUS-Musikdatei sein)
  433.  
  434. Klausel: Vergl. DTGr.
  435.  
  436. Syntax:  Vergl. DTGr. Typ
  437.  
  438. Überprüft auf eine Standard Datatypgruppe. Dies ist erst OS3.0 oder höher 
  439. verfügbar und die "datatypes.library" muß dazu in Ihrem System installiert 
  440. sein, damit diese Funktion korrekt arbeitet.
  441.  
  442. Beispiele:
  443.  
  444.  Vergl. DTGr. picture  (Jede Bilddatei, die von den Datatypes erkannt wird)
  445.  Vergl. DTGr. sound    (Jede Tondatei, die von den Datatypes erkannt wird)
  446.  
  447. Hierbei sind nur die ersten vier Buchstaben relevant! Sie könnten z.B. auch 
  448. "pict" statt "picture" schreiben, aber das würde keinen Unterschied machen. Für 
  449. weitere Informationen sehen Sie bitte in der Dokumentation zum Amiga nach. Sie 
  450. finden dort unter "datatypes/datatypes.h" eine Liste aller momentan 
  451. gebräuchlichen Datatypegruppen.
  452.  
  453. Klausel: Vergl. DTID
  454.  
  455. Syntax:  Vergl. DTID  Identifikation
  456.  
  457. Überprüft die Identifikation eines Datatypes. Dazu muß die "datatypes.library" 
  458. korrekt in Ihrem System installiert sein.
  459.  
  460. Beispiel:
  461.  
  462.  Vergl. DTID jpeg  (Überprüft auf JPEG-Dateien)
  463.  
  464. Diese Funktion ist abhängig von den in Ihrem System installierten Datatypes.
  465.  
  466. 12.6.3  Verzweigungsklauseln
  467.  
  468. Klausel: Verzw. ABS
  469.  
  470. Syntax:  Verzw. ABS  Byteposition (dezimal oder hexadezimal)
  471.  
  472. Verzweigt zu einem bestimmten Byte, absolut zur Position des Dateibeginns. Bei 
  473. Überprüfung von Dateiinhalten fangen Sie immer ganz vorne, aber jede 
  474. vorausgegangene Klausel kann den Positionszeiger verschoben haben. Um also 
  475. definitiv eine absolute Position zu bestimmen, können Sie diese Klausel 
  476. verwenden.
  477.  
  478. Beispiele:
  479.  
  480.  Verzw. ABS 0    (Zeiger auf Dateibeginn (Byte 1))
  481.  Verzw. ABS 100  (Zeiger auf Byte 101)
  482.  
  483. Klausel: Verzw. REL
  484.  
  485. Syntax:  Verzw. REL  Byteposition (dezimal oder hexadezimal)
  486.  
  487. Verzweigt relativ zur momentanen Position. Der Positionszeiger wird relativ zur 
  488. augenblicklichen Position neu gesetzt.
  489.  
  490. Beispiele:
  491.  
  492.  Verzw. REL 16  (Positionszeiger 16 Bytes vorwärts in der Datei)
  493.  Verzw. REL -4  (Positionszeiger 4 Bytes rückwärts in der Datei)
  494.  
  495. Klausel: Suche nach
  496.  
  497. Syntax:  Suche nach TEXT, Suche nach $HEX
  498.  
  499. Sucht ab der aktuellen Position nach einer Bytefolge, die mit der als Argument 
  500. übergebenen übereinstimmt. Sehen Sie bitte bei der Klausel 'Vergl.' nach den 
  501. für diese Klausel gültigen Argumente. Wird eine  passende Bytefolge gefunden, 
  502. dann entspricht die Position dem ersten gefundenen Byte.
  503.  
  504.  
  505. Beispiele:
  506.  
  507.  Suche nach CMAP  (Text "CMAP" suchen, Position des Zeigers auf "C")
  508.  Suche nach M.K.  (Text "M.K." suchen, Position des Zeigers auf "M")
  509.  
  510. Wenn diese Klausel keine passende Bytefolge findet, bedeutet dies, daß die 
  511. Klausel unwahr ist.
  512.  
  513. Ein Beispiel für die Nutzung ist die Dateiklasse der 24Bit-Bilder.
  514.  
  515. Beispiel:
  516.  
  517.  Vergl.       FORM????ILBM  (Datei muß mit diesen Zeichen beginnen)
  518.  Und                        (Ist dies erfüllt, dann tu das folgende)
  519.  Suche nach   BMHD          (Suche nach dem BMHD-Chunk)
  520.  Verzw. REL   16            (16 Bytes weiterspringen)
  521.  Vergl.       $18           (Dort muß 24 (oder $18 in Hex) stehen)
  522.  
  523. Klausel: Suche Chunk
  524.  
  525. Syntax:  Suche Chunk
  526.  
  527. Sucht nach einem IFF-Chunk. Diese Klausel ähnelt der Klausel "Suche nach",  ist 
  528. aber schneller, da diese das IFF-Format versteht und nicht passende Chunks 
  529. gleich überspringt anstatt die ganze Datei zu durchsuchen. Außerdem werden nur 
  530. gültige Chunks gefunden, wohingegen die "Suche nach"-Klausel auf der Suche nach 
  531. IFF-Chunks auch Daten fehlinterpretieren kann.
  532.  
  533. Beispiele:
  534.  
  535.  Suche Chunk BMHD  (Sucht nach dem nächsten BMHD-Chunk)
  536.  
  537.  
  538. Wir raten Ihnen, sich die mitgelieferten, vordefinierten Dateitypen genauer 
  539. anzuschauen, um einen Eindruck von den Möglichkeiten und den nahezu 
  540. unbegrenzten Fähigkeiten dieses Systems zu bekommen.
  541.  
  542.  
  543. 12.6.4  Anwendungsbeispiele
  544.  
  545. Einige häufig benötigte Beispiele sind:
  546.  
  547. a) Prüfen, ob ein Bild vom Format JPEG vorliegt. Ein Datatype vom Typ "JPEG" 
  548. muß in Ihrem System vorhanden sein.
  549.  
  550.  Vergl. DTGr. pict          (Auf Datatypegruppe Picture prüfen)
  551.  Vergl. DTID  jpeg          (Auf Identifikation JPEG prüfen)
  552.  
  553.  
  554.  
  555. b) Prüfen, ob die Datei eine 24Bit-IFF-Datei ist
  556.  
  557.  Vergl. FORM  ILBM          (ILBM-Chung vorhanden ?)
  558.  Suche Chunk  BMHD          (Suche nach dem BMHD-Chunk)
  559.  Verzw. REL   16            (16 Bytes weiterspringen)
  560.  Vergl.       $18           (Steht dort 24 (oder $18 in Hex)?)
  561.  
  562.  
  563. c) Prüfen, ob eine Datei im FAX-IFF-Format von GPFax vorliegt
  564.  
  565.  Vergl. FORM  FAXX          (Bytefolge FAXX gefunden ?)
  566.  Oder                       (wenn nein, dann...
  567.  Vergl. FORM  FAX3          (Bytefolge FAX3 gefunden ?)
  568.  
  569.  
  570. d) Prüfen, ob eine Datei im AmigaGuide-Format vorliegt
  571.  
  572.  Vergl.(ign.) @database     (Bytefolge "@database" gefunden ?)
  573.  
  574. 12.7  Der automatische Dateityperzeuger
  575.  
  576. Es ist uns bewußt geworden, daß viele Anwender nicht die Zeit aufbringen 
  577. können, Dateien sorgfältig zu analysieren, um deren internes Dateiformat 
  578. herauszufinden. Darum haben wir in Opus 5.5 ein System eingeführt, daß Dateien 
  579. automatisch testet, analysiert und für Sie eine Dateitypdefinition erzeugt. Sie 
  580. können den Dateityperzeuger auch jedesmal von Opus aufrufen lassen, wenn eine 
  581. Datei, die Sie doppelklicken nicht erkannt wird. Dies ist die schnellste 
  582. Methode eine Liste benutzbarer Dateitypen aufzubauen. Unglücklicherweise ist es 
  583. uns natürlich nicht möglich, die Befehle oder Funktionen, die Sie ausgeführt 
  584. haben möchten, automatisch mitzudefinieren, aber wir sind Ihnen immerhin auf 
  585. dem halben Wege entgegengekommen. Der Rest liegt bei Ihnen!
  586.  
  587. Das Dateitypenmodul wurde geschaffen, um automatisch Dateitypen für Dateien 
  588. oder Gruppen von Dateien zu finden und zu erschaffen, ohne daß der Benutzer 
  589. Experte auf dem Gebiet der Dateiformate sein muß. Das Modul bietet zwei interne 
  590. Befehle, FindFileType (Dateityp suchen) und CreateFileType  (Dateityp 
  591. erzeugen).
  592.  
  593. "FindFileType" hilft Ihnen dabei, herauszufinden, welcher Ihrer aktuell 
  594. verfügbaren Dateitypen zu einer angegebenen Datei passt, egal ob sich dieser 
  595. nun im Verzeichnis "DOpus5:Filetypes" oder im Storage-Verzeichnis befindet.
  596.  
  597.  
  598.  
  599.  
  600. Abb.: Der Dateitypsucher.
  601.  
  602.  
  603. Die Anzeige zeigt Ihnen eine Liste aller Dateitypen, die auf die gegebene Datei 
  604. passen würden, in Reihenfolge ihrer Prioritäten. Der Dateityp, den Opus nutzen 
  605. würde, wird zur sofortigen Bearbeitung hervorgehoben dargestellt. Wenn sich im 
  606. Verzeichnis "Storage" ein besserer als die installierten Dateitypen befindet, 
  607. so kann das Dateitypenmodul diesen für Sie installieren. Wenn sich weder im 
  608. Verzeichnis "Storage" noch im Verzeichnis "Filetypes" ein passender Dateityp 
  609. befindet, so kann durch Aufruf des automatischen Dateityperzeugers (Befehl 
  610. "CreateFileType") eine wertvolle Hilfe zur Erstellung eines solchen Dateityps 
  611. bereitgestellt werden. Sie können auch den aktuellen, passenden Dateitypen 
  612. bearbeiten.
  613.  
  614.  
  615. Der Dateitypensucher erlaubt es Ihnen, nur den aktuell passenden Dateityp zu 
  616. ändern, nicht die anderen, die in der Liste angezeigt werden. Bedenken Sie 
  617. bitte, daß der Dateitypsucher als Hilfe zur schnellen Identifizierung von 
  618. unbekannter Dateitypen gedacht ist. Für kompliziertere Operationen, oder wenn 
  619. Sie mehrere Dateitypen zugleich bearbeiten wollen, sollten Sie direkt den 
  620. Dateitypenmanager benutzen.
  621.  
  622.  
  623. "CreateFileType" hilft Ihnen bei der Erzeugung eines neuen Dateityps für eine 
  624. einzelne Datei oder bevorzugt für eine Liste von Dateien gleichen Typs. Der 
  625. Dateityperzeuger wurde dazu geschaffen, eine Liste von Dateien gleichen Typs zu 
  626. akzeptieren, diese auf Gemeinsamkeiten bezüglich der Vergleichselemente von 
  627. Opus zu analysieren und daraus automatisch einen passenden Dateityp zu 
  628. erzeugen. Die Vergleichselemente werden auf der rechten Seite der Anzeige 
  629. dargestellt und Sie können wählen, welche dieser Elemente Sie zur Definition 
  630. des Dateityps nutzen wollen. Sollten rechts keinerlei Vergleichselemente 
  631. verfügbar sein, so war der Dateityperzeuger nicht in der Lage, gleiche Elemente 
  632. in der Liste der gegebenen Dateien zu finden. In solchen Fällen sollten Sie 
  633. selektiv Dateien aus der Liste entfernen, bis es möglich ist, einen Dateityp 
  634. sicher zu erkennen. Sie können mit Hilfe der Knöpfe Dateien zur Liste 
  635. hinzufügen oder auch entfernen. Sie können Dateien auch einfach per "Nehmen & 
  636. Ablegen" dort hinzufügen.
  637.  
  638.  
  639.  
  640.  
  641. Abb.: Der Dateityperzeuger:links die Dateien, rechts die Vergleichselemente.
  642.  
  643. Rechts der Dateiliste ist eine Reihe von Auswahlboxen. Jede steht für eine 
  644. Standardfunktion zur Dateitypidentifizierung. Diese Funktionen sind:
  645.  
  646.  Name             Vergl.Name     Vergleicht auf passende Dateinamensmuster.
  647.  IFF              Vergl.FORM     Vergleicht auf passende IFF-Chunks.
  648.  Gruppe           Vergl.DTGr.    Vergleicht aus System-Datatype-Gruppen.
  649.  ID               Vergl.DTID     Vergleicht auf System-Datatype-ID's.
  650.  Bytes (G/k)      Vergl.         Vergleicht auf identische Bytes.
  651.  Bytes (Kein G/k) Vergl.(ign.)   Vergleicht auf identische Bytes (ohne auf
  652.                                 (Groß-/Kleinschreibung zu achten).
  653.  
  654. Name:
  655. Dieses Feld zeigt den gemeinsamen Teil der Namen aller Dateien der Liste, der 
  656. auf alle gewählten Dateien passt. Dies ist üblicherweise eine 
  657. Dateinamenserweiterung wie ".gif" oder ".info".
  658.  
  659. IFF:
  660. Wenn alle Dateien der Liste dem IFF-FORM-Standard entsprechen und alle 
  661. denselben FORM-Typ enthalten, wird dieser hier angezeigt. Dies könnte z.B. 
  662. "ILBM" oder "8SVX" sein.
  663.  
  664. Gruppe:
  665. Wenn auf Ihrem Rechner das Datatypesystem verfügbar ist und alle Dateien 
  666. derselben Datatypegruppe entsprechen, so wird diese Gruppe hier angezeigt. Dies 
  667. könnte z.B. "text" oder "pict" sein.
  668.  
  669. ID:
  670. Wenn auf Ihrem Rechner das Datatypesystem verfügbar ist und alle Dateien 
  671. derselben Datatype-ID entsprechen, so wird diese ID hier angezeigt. Dies könnte 
  672. z.B. "amig" oder "ilbm" sein, oder jeder andere Datatype, der in Ihrem System 
  673. installiert ist.
  674.  
  675. Bytes:
  676. Dieses Feld zeigt die ersten 16 Bytes jeder Datei an, wobei einfache 
  677. Platzhalter Verwendung finden. Mit dem Wechselknopf "G/k" oder "Kein G/k" 
  678. können Sie wählen, ob dabei die Groß- und Kleinschreibung beachtet werden soll 
  679. oder nicht.
  680.  
  681.  
  682. Nur die Anteile, die allen gewählten Dateien gemeinsam sind, werden hier 
  683. angezeigt. Wird eine Datei zur Liste hinzugefügt, die nicht dem Typ der anderen 
  684. angezeigten Dateien entspricht, so wird die Liste der Vergleichselemente 
  685. automatisch und sofort auf den neuen Stand gebracht. Auch das Löschen einer 
  686. Datei aus der Liste führt zu einer Anpassung.
  687.  
  688. Jedes der Felder der Vergleichselemente kann einzeln an- oder ausgeschaltet 
  689. werden.
  690.  
  691. Der Knopf "Bearbeiten" öffnet den standardmäßigen Dateitypeditor, der Ihnen 
  692. eine weitere Anpassung an Ihre Bedürfnisse erlaubt, z.B. eine weitere Anpassung 
  693. der Vergleichsklauseln, ein Hinzufügen von Standardaktionen, Popup-Menüs und 
  694. eines Standardpiktogramms. Nachdem Sie also anhand der Auswahlboxen die 
  695. Kriterien zur Erkennung der Datei im Dateityperzeuger gewählt haben, können Sie 
  696. durch einen Druck auf den Knopf "Bearbeiten" den erzeugten Dateityp noch 
  697. manuell weiterbearbeiten.
  698.  
  699. Wenn Sie nach dem Bearbeiten des Dateityps entscheiden, noch Dateien zu der 
  700. Liste der Dateien im Dateityperzeuger hinzuzufügen oder zu entfernen, so gehen 
  701. alle Ihre bearbeiteten Veränderungen verloren. Ein Fenster wird Ihnen aber 
  702. davor noch einen Warnhinweis mit der Möglichkeit zum Abbruch bieten.
  703.  
  704. Wird ein neuer Dateityp gespeichert, wird er von Opus erkannt und ist sofort 
  705. für die Dateitypenerkennung verfügbar.
  706.  
  707.  
  708. Sie sollten den Dateityperzeuger mit Bedacht benutzen. Es ist damit sehr 
  709. einfach einen Dateityp zu erzeugen, der zu generell gehalten ist und auf sehr 
  710. viele Dateien passt. Testen Sie daher nach der Erzeugung eines neuen Dateityps 
  711. diesen mit vielen Dateien verschiedenen Typs, um sicherzustellen, daß der von 
  712. Ihnen erzeugte Dateityp nur auf die Dateien zutrifft, für die er gedacht war.
  713.  
  714.  
  715. Es ist generell nicht ratsam, den Dateityperzeuger zur Erzeugung eines neuen 
  716. Dateityps zu nutzen, wenn dieser nur auf einer einzelnen Datei basiert (obwohl 
  717. dies möglich ist). Benutzen Sie möglichst immer mehrere Dateien gleichen Typs 
  718. zur Erzeugung neuer Dateitypen.
  719.  
  720.